#include <REGX52.H>
#include "TIMER0.H"
#include "DELAY.h"

static int T0Count,Offset;  //全局变量初始为0
static char Mode=0;//Mode=0,向右移位，=1向左移位
void main()
{
	//P2=~0x01;
	P0=0x00;//由于P2_2,3,4 也同事负责选择动态数码管位置，本程序不需要点亮LED数码管，所以直接给低电压0，禁止LED数码管点亮
	Timer0Init();//中断timer0 初始化
	
	while(1)
		{
			if(P3_1==0)
			{
				Delay(20);
				while(P3_1==0);
				Delay(20);
				Mode=0;
			}
			if(P3_0==0)
			{
				Delay(20);
				while(P3_0==0);
				Delay(20);
				Mode=1;
		}
	}
}


void Timer0_Routine() interrupt 1
{
	T0Count++;	
	if(T0Count>=500)//100MS偏移一次
	{
		T0Count=0;
		P2=~(0x01<<Offset);//偏移offset位置点亮LED
		if(Mode==0)
		{
			Offset++;
			if(Offset>=8){Offset=0;}		
		}
		else if(Mode==1)
		{
			Offset--;
			if(Offset<0){Offset=7;}
		}	
	}
	TL0 = 0x66;		//每次溢出后给定时器0重新赋值
	TH0 = 0xFC;		//
		
	
}